package com.xyht.sca_s.student_manage_system.modules.asset.service;

import com.xyht.sca_s.student_manage_system.common.commonReturn.ResponseResult;
import com.xyht.sca_s.student_manage_system.modules.asset.entity.SmsAssetMaterialProcurementApply;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xyht.sca_s.student_manage_system.modules.asset.entity.req.SmsAssetMaterialProcurementApplyAllowReq;
import com.xyht.sca_s.student_manage_system.modules.asset.entity.req.SmsAssetMaterialProcurementApplyReq;

import javax.servlet.http.HttpServletResponse;
import java.util.concurrent.Future;

/**
 * <p>
 * 物资采购申请单 服务类
 * </p>
 *
 * @author XYHT
 * @since 2024-09-19
 */
public interface SmsAssetMaterialProcurementApplyService extends IService<SmsAssetMaterialProcurementApply> {

    ResponseResult addMaterialProcurementApply(SmsAssetMaterialProcurementApplyReq req,String userId);

    ResponseResult cancelMaterialProcurementApply(SmsAssetMaterialProcurementApplyReq cancelReq,String userId);

    ResponseResult getMaterialProcurementApplyList(String userId, Integer applyType, Integer pageNum, Integer pageSize);

    ResponseResult getMaterialProcurementApplyDetail(String applyId, String userId);

    ResponseResult allowMaterialProcurementApply(SmsAssetMaterialProcurementApplyAllowReq allowReq,String userId);

    Future<ResponseResult> tableDownload(String applyId, HttpServletResponse response);

    ResponseResult getMaterialProcurementApplyAllList(Integer allowStatus, String applyName, Integer pageNum, Integer pageSize);
}
